;(function () {
  if (!sessionStorage.length) {
    // 这个调用能触发目标事件，从而达到共享数据的目的
    localStorage.setItem('getSessionStorage', Date.now())
  }
  // 该事件是核心
  window.addEventListener('storage', function (event) {
    if (event.key == 'getSessionStorage') {
      // 已存在的标签页会收到这个事件
      localStorage.setItem('sessionStorage', JSON.stringify(sessionStorage))
      localStorage.removeItem('sessionStorage')
    } else if (event.key == 'sessionStorage' && !sessionStorage.length) {
      // 新开启的标签页会收到这个事件
      let data = JSON.parse(event.newValue)
      for (const key in data) {
        console.log(11)
        sessionStorage.setItem(key, data[key])
      }
    }
    //如果用户通过代码的方式设置的了auth_token，则可以在其他tab里触发该事件，并且tab里赋值新的token
    if (event.key == 'auth_token' && event.newValue) {
      console.log(10)
      sessionStorage.setItem('auth_token', event.newValue)
    }
  })
})()
